package com.gqh.weather.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gqh.weather.domain.entity.Task;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @description 测评任务管理数据访问接口
 * @author AI
 * @date 2025-09-21
 */
@Mapper
public interface TaskMapper extends BaseMapper<Task> {
    
    /**
     * 查询任务列表并附带学生统计数据
     * 
     * @param page 分页对象
     * @param createdBy 创建者ID（可选）
     * @param keyword 关键字（可选）
     * @param state 关键字（可选）
     * @return 分页结果对象，包含任务列表及统计字段
     */
    Page<Task> selectTaskListWithStats(@Param("page") Page<Task> page, 
                                        @Param("createdBy") Integer createdBy,
                                        @Param("keyword") String keyword,
                                        @Param("state") Integer state);

    /**
     * 更新任务的考务包URL
     * 
     * @param taskId 任务ID
     * @param packageUrl 考务包URL
     * @return 更新记录数
     */
//    int updatePackageUrl(@Param("taskId") Integer taskId, @Param("packageUrl") String packageUrl);
    
}